package com.meituan.sdk.model.ddzh.tuangou.tuangouReceiptQuerybymobile;

import com.meituan.sdk.annotations.ApiMeta;
import com.google.gson.reflect.TypeToken;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 手机号查询可用团购券
* This file was automatically generated.
*/
@ApiMeta(
    path = "/ddzh/tuangou/receipt/querybymobile",
    businessId = 58,
    apiVersion = "10032",
    apiName = "tuangou_receipt_querybymobile",
    needAuth = true
)
public class TuangouReceiptQuerybymobileRequest implements MeituanRequest<TuangouReceiptQuerybymobileResponse> {
    /**
    * <p data-diff-id="ct-diff-id-18d436d2-630b-4ed3-9ba6-7e52c94f80fa"><span style="color: rgb(31, 45, 61)">点评用户绑定的手机号 国内手机即11位手机号，国外手机格式为【地区码_手机号】 例如国内手机：13866666666，国外手机：65_666666</span></p>
    */
    @NotBlank(message = "mobile不能为空")
    @SerializedName("mobile")
    private String mobile;
    /**
    * <p data-diff-id="ct-diff-id-5c2f7297-b3da-40cd-bef5-320b19b56000"><span style="color: rgb(31, 45, 61)">团购ID</span></p>
    */
    @NotNull(message = "dealGroupId不能为空")
    @SerializedName("dealGroupId")
    private Long dealGroupId;
    /**
    * <p data-diff-id="ct-diff-id-abaaf15e-9216-400d-afe1-748496fdbc88"><span style="color: rgb(31, 45, 61)">套餐ID</span></p>
    */
    @NotNull(message = "dealId不能为空")
    @SerializedName("dealId")
    private Long dealId;
    /**
    * <p data-diff-id="ct-diff-id-fe3d910a-80bd-499e-a5a3-ad271b6043e2"><span style="color: rgb(31, 45, 61)">起始位置，从0开始</span></p>
    */
    @NotNull(message = "offset不能为空")
    @SerializedName("offset")
    private Integer offset;
    /**
    * <p data-diff-id="ct-diff-id-f47a2961-e580-475b-bd09-271a3a311760"><span style="color: rgb(31, 45, 61)">查询数量，最大不超过30</span></p>
    */
    @NotNull(message = "limit不能为空")
    @SerializedName("limit")
    private Integer limit;
    /**
    * <p data-diff-id="ct-diff-id-7a0cc12e-d1ab-4f72-820b-df450a41ef59"><span style="color: rgb(31, 45, 61)">平台：1-大众点评，2-美团</span></p>
    */
    @NotNull(message = "platform不能为空")
    @SerializedName("platform")
    private Integer platform;

    public String getMobile() {
        return mobile;
    }
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
    public Long getDealGroupId() {
        return dealGroupId;
    }
    public void setDealGroupId(Long dealGroupId) {
        this.dealGroupId = dealGroupId;
    }
    public Long getDealId() {
        return dealId;
    }
    public void setDealId(Long dealId) {
        this.dealId = dealId;
    }
    public Integer getOffset() {
        return offset;
    }
    public void setOffset(Integer offset) {
        this.offset = offset;
    }
    public Integer getLimit() {
        return limit;
    }
    public void setLimit(Integer limit) {
        this.limit = limit;
    }
    public Integer getPlatform() {
        return platform;
    }
    public void setPlatform(Integer platform) {
        this.platform = platform;
    }


    @Override
    public MeituanResponse<TuangouReceiptQuerybymobileResponse> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<TuangouReceiptQuerybymobileResponse>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "TuangouReceiptQuerybymobileRequest{" + "mobile=" + mobile + "," + "dealGroupId=" + dealGroupId + "," + "dealId=" + dealId + "," + "offset=" + offset + "," + "limit=" + limit + "," + "platform=" + platform + "}";
    }
}
